Thực đơn
Kiểu_và_khai_báo_biến_trong_C Cấu trúcCấu trúc (từ khóa tương ứng struct
) thực sự là một "kiểu mở rộng" của mảng. So với mảng thì cấu trúc mạnh hơn ở chỗ nó cho phép các phần tử của nó có các kiểu khác nhau và mỗi phần tử này được gọi là thành phần của một cấu trúc:
struct person{ char name[60]; int age;}; //lưu ý dấu ";" cần dùng để kết thúc câu lệnh
Câu lệnh struct
nêu trên là một khai báo chuẩn để tạo ra một kiểu cấu trúc trong C.
struct
Việc định nghĩa một biến có kiểu struct
cũng đơn giản như khi định nghĩa các biến bình thường:
struct person Bluesman;struct person Bio = {"Hieu", 30};
Trong cách đầu thì biến Bluesman chưa có giá trị khởi động (nó vẫn có thể được truy cập và thay đổi giá trị sau này) trong khi biến Bio đã được gán các giá trị ban đầu. Hãy lưu ý dùng dấu phẩy ",
" để phân biệt các giá trị được gán lên những thành phần của cấu trúc—và dĩ nhiên chúng phải có đúng kiểu cũng như không thể gán thiếu các giá trị cho các thành phần này.Để truy cập đến các giá trị của biến có kiểu struct thì có thể dùng toán tử "." như câu lệnh sau:
printf("Name: %s\n", Bio.name);
struct
Để kiến tạo một mảng của các struct
thì dùng cú pháp sau:
struct person list[10];
struct
Cũng vậy, việc tiến hành khai báo một biến con trỏ có kiểu là struct
tương tự cách thông thường. Chỉ cần thêm vào đó dấu sao đằng trước tên biến:
struct person *Huong;
Kiểu cấu trúc cũng có thể định nghĩa lồng vào nhau. Thí dụ dưới đây cho thấy việc khai báo cấu trúc worker
có chứa cấu trúc person
như là một thành phần. Việc truy cập dữ liệu thành phần của cấu trúc bên trong cũng được tiến hành theo cách dùng toán tử "." nối tiếp nhau.
struct person{ char name[60]; int age;};struct worker{ struct person peronal_ID; char job[30]; float income;};
Thực đơn
Kiểu_và_khai_báo_biến_trong_C Cấu trúcLiên quan
Kiểu và khai báo biến trong C Kiểu tóc Kiểu chào Quốc xã Kiểu phương tiện Kiểu mạnh và kiểu yếu Kiểu dữ liệu Boolean Kiểu dữ liệu mảng Kiểu nhân đồ Kiểu hình Kiểu dữ liệuTài liệu tham khảo
WikiPedia: Kiểu_và_khai_báo_biến_trong_C http://www.opengroup.org/public/tech/aspen/lp64_wp... https://web.archive.org/web/20050723083318/http://...